package com.xiaoboframework.repository;

import com.mongodb.client.result.DeleteResult;
import com.mongodb.client.result.UpdateResult;
import com.xiaoboframework.api.bean.Message;
import org.bson.types.ObjectId;

import java.util.List;


/**
 * @author: <a href="get_xiaobo@163.com">Josh_Xu</a>
 * @description:
 * @create: 2020-05-22 15:39
 **/
public interface MessageDao {

    /**
     * 查询点对点消息记录
     * @param fromId
     * @param toId
     * @param page
     * @param rows
     * @return
     */
    List<Message> findListByFromAndTo(Long fromId, Long toId, Integer page, Integer rows);

    /**
     * 根据消息id查找消息
     * @param id
     * @return
     */
    Message findMessageById(String id);

    /**
     * 修改消息状态
     * @param id
     * @param status
     * @return
     */
    UpdateResult updateMessageState(ObjectId id, Integer status);

    /**
     * 保存消息
     * @param message
     * @return
     */
    Message saveMessage(Message message);

    /**
     * 根据消息id删除消息
     * @param id
     * @return
     */
    DeleteResult deleteMessage(String id);

}
